package com.atguigu.bigdata.scala.chapter06

object Scala13_Object_Interface {

    def main(args: Array[String]): Unit = {

        // TODO - 面向对象编程 - 接口（interface）
        // java中接口是什么？
        // 接口理解为规则或规范。
        // 30W
        // scala中没有接口(interface)的概念

        // scala将多个类中相同的特征从类中剥离出来，形成独立的语法结构，称之为【特质】
        // TODO 特质 (trait)
        // 如果一个类具有某一种特征，那么可以混入咱们的特质
        // 特质采用trait关键字声明

        // 混入有不同的实现方式
        // 1. 如果当前类没有父类，那么采用extends关键字混入特质
        // 2. 如果当前类有父类，那么extends关键字用于继承父类，使用with关键字混入特质

        // 特质中可以包含抽象的方法，由混入的类补充完整（重写）

        // 特质在底层编译后，就是一个接口
        new Person().run()
    }
    trait Run {
        def run(): Unit
    }
    class Parent {

    }
    class Person extends Parent with Run {
        def run(): Unit = {
            println("双脚直立跑")
        }
    }
}
